package com.ruoyi.project.applet.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.web.domain.BaseEntity;
import com.ruoyi.project.system.domain.SysUserWx;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单对象 t_order
 * 
 * @author ruoyi
 * @date 2025-02-07
 */
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String id;

    /** 订单编号 */
    private String number;

    /** 退款订单编号 */
    private String refundNumber;


    /** 联系电话 */
    private String phone;

    /** 商品数量 */
    private Integer goodCount;

    /** 会员ID */
    private Integer goodId;

    private String goodName;

    /** 0：vip充值 */
    private String type;

    /** 预支付交易号 */
    private String prepayId;

    /** 待支付金额 */
    private BigDecimal payAmount;

    /** 会员原价 */
    private BigDecimal originalMoney;

    /** 会员有效天数 */
    private Integer vipDay;

    /** 支付时间 */
    private Date payTime;



    private String openId;
    /** -1 付款失败 0 待付款 1 付款成功 */
    private String status;

    /** 描述 */
    private String reamrk;

    /** 退款金额 */
    private BigDecimal refundPrice;

    /** 退款时间 */
    private Date refundTime;


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    private String firstParent;

    private String secondParent;

    /**
     * 下单人
     */
    private SysUserWx buyUser;

    /**
     * 推荐人
     */
    private SysUserWx referee;

    /**
     * 佣金
     */
    private String commission;


    /**
     * 一级推荐人
     */
    private SysUserWx firstReferee;

    /**
     * 二级推荐人
     */
    private SysUserWx secondReferee;

    /**
     * 一级分销金额
     */
    private  BigDecimal firstMoney;

    /**
     * 二级分销金额
     */
     private BigDecimal secondMoney;

    /**
     * 订单实际收入
     */
    private BigDecimal income;

    public BigDecimal getFirstMoney() {
        return firstMoney;
    }

    public void setFirstMoney(BigDecimal firstMoney) {
        this.firstMoney = firstMoney;
    }

    public BigDecimal getSecondMoney() {
        return secondMoney;
    }

    public String getCommission() {
        return commission;
    }

    public void setCommission(String commission) {
        this.commission = commission;
    }

    public void setSecondMoney(BigDecimal secondMoney) {
        this.secondMoney = secondMoney;
    }

    public BigDecimal getIncome() {
        return income;
    }

    public void setIncome(BigDecimal income) {
        this.income = income;
    }

    public SysUserWx getReferee() {
        return referee;
    }

    public void setReferee(SysUserWx referee) {
        this.referee = referee;
    }

    public SysUserWx getFirstReferee() {
        return firstReferee;
    }

    public void setFirstReferee(SysUserWx firstReferee) {
        this.firstReferee = firstReferee;
    }

    public SysUserWx getSecondReferee() {
        return secondReferee;
    }

    public void setSecondReferee(SysUserWx secondReferee) {
        this.secondReferee = secondReferee;
    }

    public String getFirstParent() {
        return firstParent;
    }

    public void setFirstParent(String firstParent) {
        this.firstParent = firstParent;
    }

    public String getSecondParent() {
        return secondParent;
    }

    public void setSecondParent(String secondParent) {
        this.secondParent = secondParent;
    }

    public String getGoodName() {
        return goodName;
    }

    public void setGoodName(String goodName) {
        this.goodName = goodName;
    }




    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public SysUserWx getBuyUser() {
        return buyUser;
    }

    public void setBuyUser(SysUserWx buyUser) {
        this.buyUser = buyUser;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setNumber(String number)
    {
        this.number = number;
    }

    public String getNumber()
    {
        return number;
    }
    public void setRefundNumber(String refundNumber)
    {
        this.refundNumber = refundNumber;
    }

    public String getRefundNumber()
    {
        return refundNumber;
    }


    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }

    public Integer getGoodCount() {
        return goodCount;
    }

    public void setGoodCount(Integer goodCount) {
        this.goodCount = goodCount;
    }

    public Integer getGoodId() {
        return goodId;
    }

    public void setGoodId(Integer goodId) {
        this.goodId = goodId;
    }

    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setPrepayId(String prepayId)
    {
        this.prepayId = prepayId;
    }

    public String getPrepayId()
    {
        return prepayId;
    }
    public void setPayAmount(BigDecimal payAmount)
    {
        this.payAmount = payAmount;
    }

    public BigDecimal getPayAmount()
    {
        return payAmount;
    }
    public void setOriginalMoney(BigDecimal originalMoney)
    {
        this.originalMoney = originalMoney;
    }

    public BigDecimal getOriginalMoney()
    {
        return originalMoney;
    }

    public Integer getVipDay() {
        return vipDay;
    }

    public void setVipDay(Integer vipDay) {
        this.vipDay = vipDay;
    }

    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }


    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setReamrk(String reamrk)
    {
        this.reamrk = reamrk;
    }

    public String getReamrk()
    {
        return reamrk;
    }
    public void setRefundPrice(BigDecimal refundPrice)
    {
        this.refundPrice = refundPrice;
    }

    public BigDecimal getRefundPrice()
    {
        return refundPrice;
    }
    public void setRefundTime(Date refundTime)
    {
        this.refundTime = refundTime;
    }

    public Date getRefundTime()
    {
        return refundTime;
    }


    @Override
    public String toString() {
        return "Order{" +
                "id='" + id + '\'' +
                ", number='" + number + '\'' +
                ", refundNumber='" + refundNumber + '\'' +
                ", phone='" + phone + '\'' +
                ", goodCount=" + goodCount +
                ", goodId=" + goodId +
                ", goodName='" + goodName + '\'' +
                ", type='" + type + '\'' +
                ", prepayId='" + prepayId + '\'' +
                ", payAmount=" + payAmount +
                ", originalMoney=" + originalMoney +
                ", vipDay=" + vipDay +
                ", status='" + status + '\'' +
                ", reamrk='" + reamrk + '\'' +
                ", refundPrice=" + refundPrice +
                ", refundTime=" + refundTime +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                '}';
    }
}